var inter=1;
var inter2=1;
var inst;
var i,a,z,ang,x1,y1,x2,y2;
a=arctan2(unfix_y(mouse_y)-y,unfix_x(mouse_x)-x);
i=0;
while inter||inter2 
{
//вычислим новый угол
ang=a+((i%2)*2-1)*i/100;
// тут нужно проверить не пересекается ли прямая ружья с игроком или стеной
// найдем начальные и конечные координаты отрезка
x1=cos(ang)*20;
y1=sin(ang)*20;
// узнаем длину ствола игрока. узнали, она = 25
x2=cos(ang)*40;
y2=sin(ang)*40;
// теперь проверим нет ли пересечения
inter=collision_line(x+x1,y+y1,x+x2,y+y2,obstacle,1,1);
inter2=0;
for (z=0;z<instance_number(fence);z++)
{
inst=instance_find(fence,z);
if collision_lines(inst.x1,inst.y1,inst.x2,inst.y2,x+x1,y+y1,x+x2,y+y2) 
{
inter2=1
} 
}
i++;
}
return ang;
